// 首先我们需要明确两点：1️⃣__proto__和constructor是对象独有的。2️⃣prototype属性是函数独有的； 但是函数就是对象所以也有__proto__和constructor属性。

// 对象
const obj = {
  name: "zhangsan",
  age: 18,
};

// console.log(obj);
// console.log(obj.__proto__);
//实例的隐式原型 = 函数的显示原型
// console.log(obj.__proto__ == Object.prototype);

console.log(obj.prototype);

// 函数
function Fn() {
  this.name = "lisi";
  this.age = 20;
}

class Person {
  constructor(name, age) {
    this.name = name;
    this.age = age;
  }
}
const fn = new Fn();
console.log(fn);
console.log(fn.__proto__);
console.log(fn.__proto__ == Fn.prototype);
//函数的隐式原型 = 函数的显示原型
console.log(Fn.prototype);



